/*
1：下载
2：导入
3：配制基地址
4:加入请求拦截与响应拦截
5：暴露出去 / 小程序习惯挂载到uni下  
*/
// weapp-axios:小程序内才可使用
// 如果小程序
// #ifdef MP-WEIXIN
import _axios from 'weapp-axios'
// #endif
// 如果h5,使用axios
// #ifdef H5
import _axios from 'axios'
// #endif
import store from '@/store/index.js'
const axios = _axios.create({
  baseURL: 'https://api-hmugo-web.itheima.net/api/public/v1/'
})
axios.interceptors.request.use((config) => {
  // 加入统一token处理
  const token = store.state.user.token
  // config.url  '/my/xxx'  
  if (config.url.startsWith('/my') && token) {
    config.header.Authorization = token
  }
  return config
}, (err) => {
  return Promise.reject(new Error(err))
})
axios.interceptors.response.use((res) => {
  // 以2开头
  if (res.data.meta.status === 200) {
    return res.data
  } else {
    // 提示
    uni.$showMsg(res.data.meta.msg || '请求错误')
    // 抛出一个promise错误
    return Promise.reject(new Error(res.data.meta.msg || '请求错误'))
  }
}, (err) => {
  // 非2开头
  return Promise.reject(new Error(err))
})
uni.$http = axios